package com.ply.flashsalessystem.service;

import com.ply.flashsalessystem.entity.pojo.Authority;
import com.ply.flashsalessystem.entity.pojo.AuthorityGroup;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author XiaoPan
 * @since 2022-05-04
 */
public interface AuthorityService {
    //查询 所有权限
    List<Authority> queryAllAuthority();

    //根据 权限组 查询 权限
    List<Authority> queryByRole(Integer roleId);

    boolean groupAndId(Integer authorityId, Integer groupId);

    // 根据 权限id 和 用户id 查询有记录吗 也就是判断 这个用户 有没有这个权限
    boolean authorityAndId(Integer authorityId, Long managerId);

    // 给 管理员 注册 新增 所有权限组
    void addAllGroup(Integer manageId);

    /**
     * 新增 权限组
     */
    void addGroup(String name);

    /**
     * 删除 权限组 同时 会删除 权限和权限组  权限组和管理员关联
     */
    void deleteGroup(Integer groupId);


    /**
     * 根据 管理员id 查询 权限组
     */
    List<AuthorityGroup> queryByManagerId(Integer managerId);

    /**
     * 查询 所有的 权限组
     */
    List<AuthorityGroup> queryAll();
}
